package com.wyl.auth.common.service;

import com.wyl.auth.dto.RedisDto;
import com.wyl.auth.req.KeyReq;
import com.wyl.auth.vo.RedisIndexVo;
import com.wyl.auth.vo.RedisKeyVo;
import com.wyl.auth.vo.RedisValueVo;

import java.util.List;

/**
 * @Description
 * @Author WuYiLong
 * @Date 2025/4/20 22:11
 */
public interface RedisService {

    /**
     * redis相关指标
     * @return
     */
    RedisIndexVo getRedisIndex();

    /**
     * 查询键
     * @param keyReq
     * @return
     */
    List<RedisKeyVo> listKeys(KeyReq keyReq);

    /**
     * 根据key查询值
     * @param key
     * @return
     */
    RedisValueVo getValue(String key);

    /**
     * 保存key的值
     * @param redisDto
     */
    void save(RedisDto redisDto);

    /**
     * 更新key的过期时间
     * @param redisDto
     */
    Boolean updateTTL(RedisDto redisDto);

    /**
     * 删除key
     * @param keys
     */
    void deleteKey(List<String> keys);


}